From cbc0fb77f39a9b7ecc22c1e84421433a571bf560 Mon Sep 17 00:00:00 2001 From: "awilliam@xenbuild.aw" Date: Sun, 29 Oct 2006 09:27:12 -0700 Subject: [PATCH] [IA64] MCA support - Fix GET_THIS_PADDR and define log queue struct Signed-off-by: Yutaka Ezaki Signed-off-by: Masaki Kanno Signed-off-by: Kazuhiro Suzuki --- xen/include/asm-ia64/linux-xen/asm/mca_asm.h | 4 +-- xen/include/asm-ia64/xenmca.h | 34 ++++++++++++++++++++ 2 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 xen/include/asm-ia64/xenmca.h diff --git a/xen/include/asm-ia64/linux-xen/asm/mca_asm.h b/xen/include/asm-ia64/linux-xen/asm/mca_asm.h index 3cf3c38919..01c278afc2 100644 --- a/xen/include/asm-ia64/linux-xen/asm/mca_asm.h +++ b/xen/include/asm-ia64/linux-xen/asm/mca_asm.h @@ -59,8 +59,8 @@ #ifdef XEN #define GET_THIS_PADDR(reg, var) \ - movl reg = THIS_CPU(var) \ - tpa reg = reg + mov reg = IA64_KR(PER_CPU_DATA);; \ + addl reg = THIS_CPU(var) - PERCPU_ADDR, reg #else #define GET_THIS_PADDR(reg, var) \ mov reg = IA64_KR(PER_CPU_DATA);; \ diff --git a/xen/include/asm-ia64/xenmca.h b/xen/include/asm-ia64/xenmca.h new file mode 100644 index 0000000000..c541b237be --- /dev/null +++ b/xen/include/asm-ia64/xenmca.h @@ -0,0 +1,34 @@ +/* + * File: xenmca.h + * Purpose: Machine check handling specific defines for Xen + * + * Copyright (C) 2006 FUJITSU LTD. (kaz@jp.fujitsu.com) + */ + +#ifndef _ASM_IA64_XENMCA_H +#define _ASM_IA64_XENMCA_H + +#ifndef __ASSEMBLER__ +#include +#include + +typedef struct sal_queue_entry_t { + int cpuid; + int sal_info_type; + unsigned int vector; + unsigned int virq; + unsigned int length; + struct list_head list; +} sal_queue_entry_t; + +extern struct list_head sal_queue[]; + +struct ia64_mca_tlb_info { + u64 cr_lid; + u64 percpu_paddr; +}; + +extern struct ia64_mca_tlb_info ia64_mca_tlb_list[]; +#endif /* __ASSEMBLER__ */ + +#endif /* _ASM_IA64_XENMCA_H */ -- 2.30.2